package com.xm.queue.util;

import com.xm.queue.core.task.ITask;

/**
 * 任务工具类
 * @author wang-xiaoming
 *
 */
public class TaskUtil {
	/**
	 * 任务管理者
	 */
	private static TaskManager taskManager;
	
	private TaskUtil(){ }
	
	/**
	 * 获取单例
	 * @return 返回任务管理者单例
	 */
	public static TaskManager getInstance(){
		if(taskManager == null){
			taskManager = new TaskManager();
			taskManager.start();
		}
		return taskManager;
	}
	
	/**
	 * 销毁实例
	 */
	public static void destroy(){
		if(taskManager != null){
			taskManager = null;
		}
	}
	
	/**
	 * 添加任务到任务队列
	 * @param task 自定义任务
	 */
	public static void addTask(ITask task){
		getInstance().addTask(task);
	}
}
